package com.wyh.domain.po.feemanagementpo;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.wyh.domain.dto.feemanagementdto.ChargingNature;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 计费项目表
 * </p>
 *
 * @author ggt
 * @since 2024-06-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("billingitems")
public class BillingItemss implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Integer id;

    @ApiModelProperty(value = "父级id")
    private Integer parentid;

    /**
     * 费项名称
     */
    @ApiModelProperty(value = "费项名称")
    private String name;

    /**
     * 计费性质，0周期性计费、1三表类计费、2一次性计费
     */
    @ApiModelProperty(value = "计费性质，0周期性计费、1三表类计费、2一次性计费")
    private ChargingNature type;

    /**
     * 计算公式
     */
    @ApiModelProperty(value = "计算公式")
    private String formula;

    /**
     * 费项分类id
     */
    @ApiModelProperty(value = "费项分类id")
    private Integer feeclassificationid;

    /**
     * 统计类型
     */
    @ApiModelProperty(value = "统计类型")
    private Integer statisticaltypeid;

    /**
     * 是否专项预存
     */
    @ApiModelProperty(value = "是否专项预存")
    private Integer specialdeposit;

    /**
     * 冲减专项名称，0水费、1电费、2气费、3物业费
     */
    @ApiModelProperty(value = "冲减专项名称，0水费、1电费、2气费、3物业费")
    private Integer specialName;

    /**
     * 状态 1-正常，0-失效
     */
    @ApiModelProperty(value = "状态 1-正常，0-失效")
    private String status;

    /**
     * 最后修改时间
     */
    @ApiModelProperty(value = "最后修改时间")
    private LocalDateTime updatetime;

    /**
     * 操作人id
     */
    @ApiModelProperty(value = "操作人id")
    private Integer userid;

    /**
     * 保证金类型计费id
     */
    @ApiModelProperty(value = "保证金类型计费id")
    private Integer deposittypeid;

    /**
     * 三表类型计费id
     */
    @ApiModelProperty(value = "三表类型计费id")
    private Integer threemetertypeid;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    /**
     * 费项分类名字
     */
    @ApiModelProperty(value = "费项分类名")
    private String feeName;

    /**
     * 统计类型名
     */
    @ApiModelProperty(value = "统计类型名")
    private String  statisticaltypeName;





}
